adapter is ever seen not to have devices associated to it.
</description>
</key>
+ <key name="last-selected-power-profile" type="s">
+ <default>"power-saver"</default>
+ <summary>The last selected non-default power profile</summary>
+ <description>
+ Some systems support more than two power profiles. In order to still support
+ toggling between two profiles, this key records the last selected non-default
+ profile.
+ </description>
+ </key>
<key name="welcome-dialog-last-shown-version" type="s">
<default>''</default>
<summary>The last version the “Welcome to GNOME” dialog was shown for</summary>
},
};
+const LAST_PROFILE_KEY = 'last-selected-power-profile';
+
var Indicator = GObject.registerClass(
class Indicator extends PanelMenu.SystemIndicator {
_init() {
if (!this._item.visible)
return;
+ const {ActiveProfile: activeProfile} = this._proxy;
+
for (const [profile, item] of this._profileItems) {
- item.setOrnament(profile === this._proxy.ActiveProfile
+ item.setOrnament(profile === activeProfile
? PopupMenu.Ornament.CHECK
: PopupMenu.Ornament.NONE);
}
- const {label, iconName} = PROFILE_PARAMS[this._proxy.ActiveProfile];
+ const {label, iconName} = PROFILE_PARAMS[activeProfile];
this._item.label.text = label;
this._item.icon.icon_name = iconName;
+
+ if (activeProfile !== 'balanced')
+ global.settings.set_string(LAST_PROFILE_KEY, activeProfile);
}
});